\hypertarget{duye__md5_8cpp}{\section{Z\-:/duye/src/duyebase/utils/duye\-\_\-md5.cpp File Reference}
\label{duye__md5_8cpp}\index{Z\-:/duye/src/duyebase/utils/duye\-\_\-md5.\-cpp@{Z\-:/duye/src/duyebase/utils/duye\-\_\-md5.\-cpp}}
}
{\ttfamily \#include $<$stdio.\-h$>$}\\*
{\ttfamily \#include $<$string.\-h$>$}\\*
{\ttfamily \#include $<$duye\-\_\-md5.\-h$>$}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{duye__md5_8cpp_a51398c0e5541164ad4d6615880073305}{\#define {\bfseries S11}~7}\label{duye__md5_8cpp_a51398c0e5541164ad4d6615880073305}

\item 
\hypertarget{duye__md5_8cpp_a1ec499cd0e54ecc28c2ac2afea5b038e}{\#define {\bfseries S12}~12}\label{duye__md5_8cpp_a1ec499cd0e54ecc28c2ac2afea5b038e}

\item 
\hypertarget{duye__md5_8cpp_aaeec90429105fb54d853dd4fc7027a54}{\#define {\bfseries S13}~17}\label{duye__md5_8cpp_aaeec90429105fb54d853dd4fc7027a54}

\item 
\hypertarget{duye__md5_8cpp_a78342b0ccde2ed12fdf19a113cc266cf}{\#define {\bfseries S14}~22}\label{duye__md5_8cpp_a78342b0ccde2ed12fdf19a113cc266cf}

\item 
\hypertarget{duye__md5_8cpp_ab6d5354f647a0e7592a1f051fc8377b2}{\#define {\bfseries S21}~5}\label{duye__md5_8cpp_ab6d5354f647a0e7592a1f051fc8377b2}

\item 
\hypertarget{duye__md5_8cpp_addad30455da936bc1879ee9c72b46d59}{\#define {\bfseries S22}~9}\label{duye__md5_8cpp_addad30455da936bc1879ee9c72b46d59}

\item 
\hypertarget{duye__md5_8cpp_a6321a8b29628936f76e9e78cf5bda95f}{\#define {\bfseries S23}~14}\label{duye__md5_8cpp_a6321a8b29628936f76e9e78cf5bda95f}

\item 
\hypertarget{duye__md5_8cpp_a0c09eb77d30a0d5f9154914147b86c20}{\#define {\bfseries S24}~20}\label{duye__md5_8cpp_a0c09eb77d30a0d5f9154914147b86c20}

\item 
\hypertarget{duye__md5_8cpp_aef26590f8a880ee6f4a158168defcd89}{\#define {\bfseries S31}~4}\label{duye__md5_8cpp_aef26590f8a880ee6f4a158168defcd89}

\item 
\hypertarget{duye__md5_8cpp_a1d512424dd8a91e0a5bcc98563f33914}{\#define {\bfseries S32}~11}\label{duye__md5_8cpp_a1d512424dd8a91e0a5bcc98563f33914}

\item 
\hypertarget{duye__md5_8cpp_a1c854214533f6220e859b0063196abb3}{\#define {\bfseries S33}~16}\label{duye__md5_8cpp_a1c854214533f6220e859b0063196abb3}

\item 
\hypertarget{duye__md5_8cpp_af6472be1d535970afee8e5266a74aa07}{\#define {\bfseries S34}~23}\label{duye__md5_8cpp_af6472be1d535970afee8e5266a74aa07}

\item 
\hypertarget{duye__md5_8cpp_ab674ba129e588da55d1d494e1cf3c15e}{\#define {\bfseries S41}~6}\label{duye__md5_8cpp_ab674ba129e588da55d1d494e1cf3c15e}

\item 
\hypertarget{duye__md5_8cpp_a268ef1a49114a94b931cc6b313e3cd1b}{\#define {\bfseries S42}~10}\label{duye__md5_8cpp_a268ef1a49114a94b931cc6b313e3cd1b}

\item 
\hypertarget{duye__md5_8cpp_a5aaa7121f39650d472746942ca68f959}{\#define {\bfseries S43}~15}\label{duye__md5_8cpp_a5aaa7121f39650d472746942ca68f959}

\item 
\hypertarget{duye__md5_8cpp_a6a3989af72b55d169bd73a66f8620aae}{\#define {\bfseries S44}~21}\label{duye__md5_8cpp_a6a3989af72b55d169bd73a66f8620aae}

\item 
\hypertarget{duye__md5_8cpp_a96d73bbd7af15cb1fc38c3f4a3bd82e9}{\#define {\bfseries F}(x, y, z)~(((x) \& (y)) $|$ (($\sim$x) \& (z)))}\label{duye__md5_8cpp_a96d73bbd7af15cb1fc38c3f4a3bd82e9}

\item 
\hypertarget{duye__md5_8cpp_ad96b7cf3182ce2ba85e5a7a93b12c441}{\#define {\bfseries G}(x, y, z)~(((x) \& (z)) $|$ ((y) \& ($\sim$z)))}\label{duye__md5_8cpp_ad96b7cf3182ce2ba85e5a7a93b12c441}

\item 
\hypertarget{duye__md5_8cpp_ae42219072d798876e6b08e6b78614ff6}{\#define {\bfseries H}(x, y, z)~((x) $^\wedge$ (y) $^\wedge$ (z))}\label{duye__md5_8cpp_ae42219072d798876e6b08e6b78614ff6}

\item 
\hypertarget{duye__md5_8cpp_ac0eafdc9ee161b71e7af98af736952fd}{\#define {\bfseries I}(x, y, z)~((y) $^\wedge$ ((x) $|$ ($\sim$z)))}\label{duye__md5_8cpp_ac0eafdc9ee161b71e7af98af736952fd}

\item 
\hypertarget{duye__md5_8cpp_a7417fd4e875360c0533fa5b412cdab49}{\#define {\bfseries R\-O\-T\-A\-T\-E\-\_\-\-L\-E\-F\-T}(x, n)~(((x) $<$$<$ (n)) $|$ ((x) $>$$>$ (32-\/(n))))}\label{duye__md5_8cpp_a7417fd4e875360c0533fa5b412cdab49}

\item 
\#define {\bfseries F\-F}(a, b, c, d, x, s, ac)
\item 
\#define {\bfseries G\-G}(a, b, c, d, x, s, ac)
\item 
\#define {\bfseries H\-H}(a, b, c, d, x, s, ac)
\item 
\#define {\bfseries I\-I}(a, b, c, d, x, s, ac)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyAuthor}{Author}
duye 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
2016-\/04-\/18 
\end{DoxyDate}
\begin{DoxyNote}{Note}

\end{DoxyNote}

\begin{DoxyEnumerate}
\item 2016-\/04-\/18 duye created this file 
\end{DoxyEnumerate}

\subsection{Macro Definition Documentation}
\hypertarget{duye__md5_8cpp_a0a143972cb6c4fe16f0ffa8a3d41ebf3}{\index{duye\-\_\-md5.\-cpp@{duye\-\_\-md5.\-cpp}!F\-F@{F\-F}}
\index{F\-F@{F\-F}!duye_md5.cpp@{duye\-\_\-md5.\-cpp}}
\subsubsection[{F\-F}]{\setlength{\rightskip}{0pt plus 5cm}\#define F\-F(
\begin{DoxyParamCaption}
\item[{}]{a, }
\item[{}]{b, }
\item[{}]{c, }
\item[{}]{d, }
\item[{}]{x, }
\item[{}]{s, }
\item[{}]{ac}
\end{DoxyParamCaption}
)}}\label{duye__md5_8cpp_a0a143972cb6c4fe16f0ffa8a3d41ebf3}
{\bfseries Value\-:}
\begin{DoxyCode}
\{ \(\backslash\)
    (a) += F ((b), (c), (d)) + (x) + (uint32)(ac); \(\backslash\)
    (a) = ROTATE\_LEFT ((a), (s)); \(\backslash\)
    (a) += (b); \(\backslash\)
\}
\end{DoxyCode}
\hypertarget{duye__md5_8cpp_a685f32faa2a66e743850b990a13b8bfa}{\index{duye\-\_\-md5.\-cpp@{duye\-\_\-md5.\-cpp}!G\-G@{G\-G}}
\index{G\-G@{G\-G}!duye_md5.cpp@{duye\-\_\-md5.\-cpp}}
\subsubsection[{G\-G}]{\setlength{\rightskip}{0pt plus 5cm}\#define G\-G(
\begin{DoxyParamCaption}
\item[{}]{a, }
\item[{}]{b, }
\item[{}]{c, }
\item[{}]{d, }
\item[{}]{x, }
\item[{}]{s, }
\item[{}]{ac}
\end{DoxyParamCaption}
)}}\label{duye__md5_8cpp_a685f32faa2a66e743850b990a13b8bfa}
{\bfseries Value\-:}
\begin{DoxyCode}
\{ \(\backslash\)
    (a) += G ((b), (c), (d)) + (x) + (uint32)(ac); \(\backslash\)
    (a) = ROTATE\_LEFT ((a), (s)); \(\backslash\)
    (a) += (b); \(\backslash\)
\}
\end{DoxyCode}
\hypertarget{duye__md5_8cpp_a8b9f1c4778df01ef970b87dbe5541dc5}{\index{duye\-\_\-md5.\-cpp@{duye\-\_\-md5.\-cpp}!H\-H@{H\-H}}
\index{H\-H@{H\-H}!duye_md5.cpp@{duye\-\_\-md5.\-cpp}}
\subsubsection[{H\-H}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\-H(
\begin{DoxyParamCaption}
\item[{}]{a, }
\item[{}]{b, }
\item[{}]{c, }
\item[{}]{d, }
\item[{}]{x, }
\item[{}]{s, }
\item[{}]{ac}
\end{DoxyParamCaption}
)}}\label{duye__md5_8cpp_a8b9f1c4778df01ef970b87dbe5541dc5}
{\bfseries Value\-:}
\begin{DoxyCode}
\{ \(\backslash\)
    (a) += H ((b), (c), (d)) + (x) + (uint32)(ac); \(\backslash\)
    (a) = ROTATE\_LEFT ((a), (s)); \(\backslash\)
    (a) += (b); \(\backslash\)
\}
\end{DoxyCode}
\hypertarget{duye__md5_8cpp_ad26626e5efb37b2dadef4e88e35e4329}{\index{duye\-\_\-md5.\-cpp@{duye\-\_\-md5.\-cpp}!I\-I@{I\-I}}
\index{I\-I@{I\-I}!duye_md5.cpp@{duye\-\_\-md5.\-cpp}}
\subsubsection[{I\-I}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-I(
\begin{DoxyParamCaption}
\item[{}]{a, }
\item[{}]{b, }
\item[{}]{c, }
\item[{}]{d, }
\item[{}]{x, }
\item[{}]{s, }
\item[{}]{ac}
\end{DoxyParamCaption}
)}}\label{duye__md5_8cpp_ad26626e5efb37b2dadef4e88e35e4329}
{\bfseries Value\-:}
\begin{DoxyCode}
\{ \(\backslash\)
    (a) += I ((b), (c), (d)) + (x) + (uint32)(ac); \(\backslash\)
    (a) = ROTATE\_LEFT ((a), (s)); \(\backslash\)
    (a) += (b); \(\backslash\)
\}
\end{DoxyCode}
